package com.example.administrator.activity.service;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;

public class MyImageService extends Service {
    public MyImageService() {
    }

    @Override
    public IBinder onBind(Intent intent) {
        // TODO: Return the communication channel to the service.
        throw new UnsupportedOperationException("Not yet implemented");
    }

    @Override
    public void onCreate() {
        super.onCreate();
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        /**
         * 1.验证了服务是运行在主线程的
         *   在LogCat中打印，当前的线程名
         */
        Log.v("myimage","Service"+Thread.currentThread().getName());
        /**
         * 2.模拟系在图片的任务
         */
//        try {
//            Log.v("myimage","Service开始下载图片");
//            /**
//             * 让线程休眠3秒，这3秒内，界面不能动
//             * 若线程休眠超过5秒：
//             * 1.界面不能动且会报错。但是服务中的任务还会继续执行（服务中耗时的操作要放在子线程）
//             * 2.服务中的任务还会继续执行（原因：服务的运行并不依赖与用户可视的UI界面）
//             */
//            Thread.sleep(3000);
//            Log.v("myimage","Service图片下载完毕");
//        } catch (InterruptedException e) {
//            e.printStackTrace();
//        }
        /*
        3.把模拟狭隘图片的这个耗时操作，放在子线程
        创建子线程，开启线程
         */
        MyImage myImage=new MyImage();
        Thread thread=new Thread(myImage);
        /*
        开启子线程，会自动调用线程的run方法
         */
        thread.start();
        return super.onStartCommand(intent, flags, startId);
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
    }
}
